#ifndef __M_FMT_H__
#define __M_FMT_H__
#include "util.hpp"
#include "message.hpp"
#include "level.hpp"
#include <memory>
#include <vector>
#include <tuple>

namespace bitlog
{//抽象格式化子项基类
    class FormatItem
    {
        public:
        using ptr=std::shared_ptr<FormatItem>;
        virtual void format(std::ostream &out,LogMsg &msg)=0;
    };
    class MsgFormatItem : public FormatItem
    {
        public:
            void format(std::ostream &out,LogMsg &msg)override
            {
                out<<msg._payload;
            }
    }
}



#endif